/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package controlador;
import clases.Usuario;
import clases.Invitacion;

import Util.UtilFecha;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Date;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import javax.swing.JSpinner;

/**
 *
 * @author JAVA
 */
//@WebServlet(name = "PruebaInvitaciones", urlPatterns = {"/PruebaInvitaciones"})
public class PruebaInvitaciones extends HttpServlet {

    /** 
     * Processes requests for both HTTP <code>GET</code> and <code>POST</code> methods.
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */
    protected void processRequest(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {response.setContentType("text/html;charset=UTF-8");
        PrintWriter out = response.getWriter();
        HttpSession sesion=request.getSession();
        sesion.setAttribute("nick","tmc");
        boolean altaInv=false;
       
        String nick; // Usuario que envia la invitacion
        String codigo;
        String usuarioAcepta; // Solo conozco el email del receptor
        Date fechaEnvio; // Fecha del sistema
        Date fechaAceptacion; // m�x 30 d�as
        String usuarioEnvia = "";
        
        try{
            nick=(String)request.getSession().getAttribute("usuario");
            if((nick.compareTo("")==0) ||nick==null){
                altaInv=true;
                codigo="";
                usuarioAcepta="";
                fechaEnvio= null;
                fechaAceptacion=null;                              
            }
            else{
                 Usuario usu = Usuario.devuelveUsuario(nick);  
                 Invitacion inv = new Invitacion();                 
                 codigo = inv.getCodigo();
                 usuarioEnvia= nick;
                 usuarioAcepta= "";
                 fechaEnvio = inv.getFechaEnvio();
                 fechaAceptacion = new Date(0); // Por defecto en la bd se rellena cn una fecha calquiera
            }
            
                /*esta sesion la utilizamos para saber si usuario es nuevo o esta actualizando datos
      * en el servlet donde enviamos formulario, llamamos al metodo alta � actualiza en funcion de si 
      * el usuario es nuevo o ya existe
      */            
      out.write("\n");
      out.write("\n");
      out.write("<!DOCTYPE html>\n");
      out.write("<html>\n");
      out.write("    <head>\n");
      out.write("        <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\">\n");
      out.write("        <title>Prueba de Invitaciones</title>\n");
      out.write("    </head>\n");
      out.write("    <body>\n");
      out.write("  \n");
      out.write("         <form method=\"post\" action=\"pruebaAltaInvitaciones\" id=\"<alta_form\">\n");
      out.write("             codigo: <input type=\"text\" name=\"codigo\" id=\"login_cod\" value=\""+codigo+"\"/>\n");
      out.write("             fecha envio (dd/MM/yyyy):<input type=\"text\" name=\"fechaEnvio\" id=\"login_fenvio\" value=\""+fechaEnvio+"\"/>\n");
      out.write("             fecha aceptacion (dd/MM/yyyy):<input type=\"text\" name=\"fechaAceptacion\" id=\"login_faceptacion\" value=\""+fechaAceptacion+"\"/>\n");
      out.write("             Nick Emisor:<input type=\"text\" name=\"nickEnvia\" id=\"login_nickE\" value=\""+usuarioEnvia+"\"/>\n");
      out.write("             Email Receptor:<input type=\"text\" name=\"emailR\" id=\"login_emailR\" value=\""+usuarioAcepta+"\"/>\n");
 
                              out.write("             <br>\n");
                              out.write("              <br>Sexo:<br>\n");                             
                              out.write("             <br>\n");
                              out.write("             <input type='submit' value='EnviarDatos'>\n");
                              out.write("             <input type='reset' value='BorrarDatos'>\n");

      out.write("         </form>\n");
      out.write("        ");
      out.write("\n");          
      out.write("\n");
      out.write("    </body>\n");
      out.write("</html>\n");
        } finally {            
            out.close();
        }
    }
        
    
   
    // <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code.">
    /** 
     * Handles the HTTP <code>GET</code> method.
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        processRequest(request, response);
    }

    /** 
     * Handles the HTTP <code>POST</code> method.
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */
    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        processRequest(request, response);
    }

    /** 
     * Returns a short description of the servlet.
     * @return a String containing servlet description
     */
    @Override
    public String getServletInfo() {
        return "Short description";
    }// </editor-fold>
}
